class Solution {
    public ListNode swapPairs(ListNode head) {
        if(head==null||head.next==null) return head;
        ListNode newhead=new ListNode(0);
        newhead.next=head;
        ListNode prev=newhead,cur=prev.next,next=cur.next,nnext=next.next;
        while(cur!=null&&next!=null){
            cur.next=nnext;
            next.next=cur;
            prev.next=next;

            prev=cur;
            cur=nnext;
            if(cur!=null) next=cur.next;
            if(next!=null) nnext=next.next;
        }
        return newhead.next;
    }
}